1. Field of the Invention
The present invention relates in general to an improved data processing system and in particular to an improved data processing system and method for indexing adapters within the data processing system. Still more particularly, the present invention relates to an improved data processing system and method for indexing hot-plug adapters.
2. Description of the Related Art
One of the most critical elements in a computer system is the boot-up firmware, such as Basic Input and Output System (BIOS). Typically, stored in some form of non-volatile memory, the firmware is machine code which is part of an operating system (OS) which allows a central processing unit (CPU) to perform tasks such as initialization, diagnostics, loading the operating system kernel from mass storage and routine input/output (I/O) functions. In addition, the firmware will perform scans of each adapter currently utilized within the computer system, where the adapters typically provide a connection for I/O devices, peripheral devices and additional adapters.
In typical firmware systems, an in-order scan assigns an adapter index value to each adapter being utilized, in a nondeterministic fashion. For example, if there are four adapter slots with components in the first, third and fourth slots, in an initial scan, the first slot would be assigned an index of 1, the third an index of 2 and the fourth an index of 3. However, during operation, if an additional hot-plug adapter is added to the configuration in the second slot, the firmware is triggered to perform another scan. In the second scan, the first slot would be assigned an index of 1, the second and index of 2, the third an index of 3 and the fourth an index of 4. This non-deterministic assignment of indexes leads to an inconsistent index assignment to adapters which may effect I/O operations and user understanding of adapter assignments.
The advancement of hot-plug components makes it possible for hot-plug adapters be added to a configuration while power is applied. With the addition of hot-plug adapters, it is preferable that each hot-plug adapter of the same type be assigned an index number without changing the indexing assignments made to other adapters of the same type in the system. It is apparent that a method of scanning and assigning index numbers to adapters needs to accomodate for hot-plug adapters.